import axios from 'axios'
import { BASE_URL, TIMEOUT } from './config'
import useMainStore from '@/stores/modules/main'
import { showToast } from 'vant';
import 'vant/es/toast/style';
const mainStore = useMainStore()

//创建一个axios的对象
const instance =axios.create({
  //baseURL会在发送请求的时候拼接在url参数前面
  baseURL:BASE_URL,  
  timeout:TIMEOUT
})


// 添加请求拦截器
//所有数据都会先走这个方法
//我们可以在它里面添加一些自定义的内容，如token，token是与后端协商好的
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // config.headers.token="123456";
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

//响应拦截器
//所有的网络请求返回数据之后都会先执行此方法，此处可以根据服务器返回的状态码做相应的处理
instance.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export function get(url,params){
  return instance.get(url,{
      params
  })
}

export function post({url,data}){
  console.log(url,data)
  return instance.post(url,data)
}

export function del(url){
  return instance.delete(url)
}

export function put(url,data){
  return instance.put(url,data)
}
export const hyRequest = {
  post(url,data){
    return instance.post(url,data)
  }
}


